Method and System for Allowing a Media Player to Determine if it Supports the Capabilities of an Accessory

ABSTRACT

A method and system for allowing a media player to determine if it supports the capabilities of an accessory are disclosed. The method and system comprise requesting information about the capabilities of the accessory by the media player and providing information about the capabilities of the accessory by the accessory to the media player. The method and system further include utilizing the information to determine if the capabilities of the accessory are supported by the media player. Accordingly, a method and system in accordance with the present invention provides a system that allows a media player to obtain information from an accessory about the accessory&#39;s capability. A media player can then utilize this information to allow for the maximum functionality of the accessory when connected to the media player.

CROSS-REFERENCES TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 12/176,920, filed Jul. 21, 2008, entitled “Method and System for Allowing a Media Player to Determine If it Supports the Capabilities of an Accessory,” which is a continuation of U.S. patent application Ser. No. 11/476,276, entitled “Method and System for allowing Media Player to Determine If it Supports the Capabilities of an Accessory,” filed Jun. 27, 2006 (now U.S. Pat. No. 7,415,563), both of which are incorporated herein by reference.

FIELD OF THE INVENTION

The present invention relates generally to electrical devices and more particularly to electrical devices such as media players that communicate with accessory devices.

BACKGROUND OF THE INVENTION

A media player stores media assets, such as audio tracks, videos, and photos that can be played or displayed on the media player. One example of a media player is the IPod® media player, which is available from Apple Computer, Inc. of Cupertino, Calif. Often, a media player acquires its media assets from a host computer that serves to enable a user to manage media assets. As an example, the host computer can execute a media management application to manage media assets. One example of a media management application is ITunes®, version 6.0, produced by Apple Computer, Inc.

A media player typically includes one or more connectors or ports that can be used to interface to the media player. For example, the connector or port can enable the media player to couple to a host computer, be inserted into a docking system, or receive an accessory device. There are today many different types of accessory devices that can interconnect to the media player. For example, a remote control can be connected to the connector or port to allow the user to remotely control the media player. As another example, an automobile can include a connector and the media player can be inserted onto the connector such that an automobile media system can interact with the media player, thereby allowing the media content on the media player to be played within the automobile.

Currently, the connectors or ports of a media player are open for use so long as a compatible connector or port is utilized. Consequently, numerous third-parties have developed accessory devices for use with other manufacturers' media players. One difficulty is that since a media player communicates with a variety of accessories it does not know the capabilities of the accessory and may not support the capabilities of the accessory.

Accordingly, it is desirable for the media player to know those capabilities and to know whether it supports the capabilities of an associated accessory. Therefore it is also desirable to provide a method and system for allowing a media player to efficiently and effectively determine the capabilities of an accessory and determine if the media player supports such capabilities. The present invention addresses such a need.

BRIEF SUMMARY OF THE INVENTION

A method and system for allowing a media player to determine if it supports the capabilities an accessory are disclosed. The method and system comprise requesting information about the capabilities of the accessory by the media player and providing information about the capabilities of the accessory by the accessory to the media player. The method and system further include utilizing the information to determine if the capabilities of the accessory are supported by the media player.

Accordingly, a method and system in accordance with the present invention allow a media player to obtain information from an accessory about the accessory's capability. A media player can then utilize this information to allow for the maximum functionality of the accessory when connected to the media player.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1A and 1B illustrate a docking connector in accordance with the present invention.

FIG. 2A is a front and top view of a remote connector in accordance with the present invention.

FIG. 2B illustrates a plug to be utilized in the remote connector.

FIG. 2C illustrates the plug inserted into the remote connector.

FIG. 3A illustrates the connector pin designations for the docking connector.

FIG. 3B illustrates the connection pin designations for the remote connector.

FIG. 4A illustrates a typical FireWire connector interface for the docking connector.

FIG. 4B illustrates a reference schematic diagram for an accessory power source.

FIG. 4C illustrates a reference schematic diagram for a system for detecting and identifying accessories for the docking connector.

FIG. 4D is a reference schematic of an electret microphone that may be connected to the remote connector.

FIG. 5A illustrates a media player coupled to different accessories

FIG. 5B illustrates the media player coupled to a computer.

FIG. 5C illustrates the media player coupled to a car or home stereo system.

FIG. 5D illustrates the media player coupled to a dongle that communicates wirelessly with other accessories.

FIG. 5E illustrates the media player coupled to a speaker system.

FIG. 6 is a simple flow chart illustrating a process for allowing a media player to determine the capabilities of an accessory.

FIG. 7 is a chart of all the accessory information types requested by the media player.

DETAILED DESCRIPTION OF THE INVENTION

The present invention relates generally to electrical devices and more particularly to electrical devices such as media players that communicate with accessory devices. The following description is presented to enable one of ordinary skill in the art to make and use the invention and is provided in the context of a patent application and its requirements. Various modifications to the preferred embodiment and the generic principles and features described herein will be readily apparent to those skilled in the art. Thus, the present invention is not intended to be limited to the embodiment shown but is to be accorded the widest scope consistent with the principles and features described herein.

A method and system in accordance with the present invention allow a media player to obtain information from an accessory. A media player can then utilize this information to allow for the maximum functionality of the accessory when connected to the media player. In one embodiment commands are utilized to facilitate communication of this information between the media player and the accessory.

These commands could be utilized in a variety of environments. One such environment is within a connector interface system environment such as described in detail hereinbelow.

Connector Interface System Overview

To describe the features of the connector interface system in accordance with the present invention in more detail, refer now to the following description in conjunction with the accompanying drawings.

Docking Connector

FIGS. 1A and 1B illustrate a docking connector 100 in accordance with the present invention. Referring first to FIG. 1A, the keying features 102 are of a custom length 104. In addition, a specific key arrangement is used, where one set of keys separated by one length are at the bottom and another set of keys separated by another length are at the top of the connector. The use of this key arrangement prevents noncompliant connectors from being plugged in and causing potential damage to the device. The connector for power utilizes a Firewire specification for power [the connector also can accept power from USB]. The connector includes a first make/last break contact to implement this scheme. FIG. 1B illustrates the first make/last break contact 202 and also illustrates a ground pin and a power pin related to providing an appropriate first make/last break contact. In this example, the ground pin 204 is longer than the power pin 206. Therefore, the ground pin 204 would contact its mating pin in the docking accessory before the power pin 206. Therefore internal electrical damage of the electronics of the device is minimized.

In addition, a connector interface system in accordance with the present invention uses both USB and Firewire interfaces as part of the same docking connector alignment, thereby making the design more compatible with different types of interfaces, as will be discussed in detail hereinafter. In so doing, more remote accessories can interface with the media player.

Remote Connector

The connection interface system also includes a remote connector which provides for the ability to output audio, input audio, and output video, and which also provides I/O serial protocol. FIG. 2A is a front and top view of a remote connector 200 in accordance with the present invention. As is seen, the remote connector 200 includes a top headphone receptacle 202, as well as a second receptacle 204 for remote devices. FIG. 2B illustrates a plug 300 to be utilized in the remote connector. The plug 300 allows the features to be provided via the remote connector. FIG. 2C illustrates the plug 300 inserted into the remote connector 200. Heretofore, all these features have not been implemented in a remote connector. Therefore, a standard headphone cable can be plugged in but also special remote control cables, microphone cables and video cables could be utilized with the remote connector.

To describe the features of the connector interface system in more detail, please find below a functional description of the docking connector, remote connector and a command set in accordance with the present invention.

Docking and Remote Connector Specifications

For an example of the connector pin designations for both the docking connector and for the remote connector for a media player such as an iPod device by Apple Computer, Inc., refer now to FIGS. 3A and 3B. FIG. 3A illustrates the connector pin designations for the docking connector. FIG. 3B illustrates the connection pin designations for the remote connector.

Docking Connector Specifications

FIG. 4A illustrates a typical Firewire connector interface for the docking connector:

Firewire Power:

a) 8V−30V DC IN

b) 10 W Max

Firewire:

a) Designed to IEEE 1394 A Spec (400 Mb/s)

USB Interface

The media player provides two configurations, or modes, of USB device operation: mass storage and media player USB Interface (MPUI). The MPUI allows the media player to be controlled using a media player accessory protocol (MPAP) which will be described in detail later herein, using a USB Human Interface Device (HID) interface as a transport mechanism.

Accessory 3.3 V Power

FIG. 4B illustrates the accessory power source. The media player accessory power pin supplies voltages, for example, 3.0 V to 3.3V+/−5% (2.85 V to 3.465 V) over the 30-pin connector and remote connector (if present). A maximum current is shared between the 30-pin and Audio/Remote connectors.

By default, the media player supplies a particular current such as 5 mA. Proper software accessory detect is required to turn on high power (for example, up to 100 mA) during active device usage. When devices are inactive, they must consume less than a predetermined amount of power such as 5 mA current.

Accessory power is grounded through the DGND pins.

FIG. 4C illustrates a reference schematic diagram for a system for detecting and identifying accessories for the docking connector. The system comprises:

a) A resistor to ground allows the device to determine what has been plugged into docking connector. There is an internal pullup on Accessory Identify.

b) Two pins required (Accessory Identify & Accessory Detect)

FIG. 4D is a reference schematic of an electret microphone that is connected to the remote connector.

Serial Protocol Communication:

a) Two pins used to communicate to and from device (Rx & Tx)

b) Input & Output (0V=Low, 3.3V=High)

As before mentioned, media players connect to a variety of accessories. FIGS. 5A-5E illustrates a media player 500 coupled to different accessories. FIG. 5A illustrates a media player 500 coupled to a docking station 502. FIG. 5B illustrates the media player 500′ coupled to a computer 504. FIG. 5C illustrates the media player 500″ coupled to a car or home stereo system 506. FIG. 5D illustrates the media player 500′ coupled to a dongle 508 that communicates wirelessly with other devices. FIG. 5E illustrates the media player 500″″ coupled to a speaker system 510. As is seen, what is meant by accessories includes but is not limited to docking stations, chargers, car stereos, microphones, home stereos, computers, speakers, and accessories which communicate wirelessly with other accessories.

As before mentioned, this connector interface system could be utilized with a command set for allowing a media player to obtain information from an accessory about its capabilities to allow the media player to determine if it supports the capabilities of the accessory. It should be understood by one of ordinary skill in the art that although the above-identified connector interface system could be utilized with the command set a variety of other connectors or systems could be utilized and they would be within the spirit and scope of the present invention. To describe the utilization of the command set in more detail refer now to the accompanying description in conjunction with the accompanying Figure.

FIG. 6 is a simple flow chart illustrating a process for allowing a media player to utilize information obtained from an accessory. First, the media player requests information from the accessory about the accessory's capabilities, via step 602. Next, the accessory responds with the accessory information, via step 604. Finally, the media player will utilize the information to determine if it supports the accessory's capabilities, via step 606. For example, the information gathered will be used by the media player to:

Post accessory information on a display on the media player,

Post a message on the display if the media player firmware needs to be updated to support the accessory,

Post a UI message if the media player firmware does not support the accessory.

To allow for the determination of the capabilities of the accessory by the media player two commands are passed therebetween. They are a get accessory information (GetAccessoryInfo) command and a return accessory information (RetAccessoryInfo) command. These commands will be described in more detail hereinbelow.

GetAccessoryInfo Command

This command requests a plurality of accessory information from the accessory. An example of a list of requested accessory information types is shown in the table of FIG. 7. The media player may for example request the parameters in the order they are listed in the Table of FIG. 7.

When the GetAccessoryInfo command is sent with an accessory minimum supported media player firmware version info type, the media player model number and the media player firmware version are sent as parameters.

When the GetAccessoryInfo command is sent with an accessory minimum supported command set info type, the command set number for which the media player is requesting the minimum supported version is sent as a parameter. What is meant by a command set is one or more commands that are related to a particular accessory's functionality. For example a microphone command set is related to a microphone functionality, a simple remote command is related to a remote control functionality. Therefore there are a variety of command sets that could be utilized with a particular accessory based upon the accessory's functionality. The media player will send the GetAccessoryInfo command for every command set the accessory indicates it supports.

In one embodiment, the media player will begin sending commands as soon as an accessory identifies successfully. If the accessory does not respond, the media player will wait a predetermined time period for a response before timing out and retrying.

RetAccessoryInfo Command

The accessory sends this command in response to the GetAccessoryInfo command. Utilizing this command the accessory returns accessory information to the media player.

In one embodiment, if an unknown or unsupported media player Model ID is sent to the accessory when requesting the accessory's minimum supported media player firmware version for that particular Model ID, the accessory should return a RetAccessoryInfo command with the media player Model ID and a payload indicating that the accessory does not recognize that particular media player Model ID.

If the accessory's minimum supported media player firmware version is higher than the media player firmware version, and one or more of the command sets are not supported by the media player, the media player will post a message indicating that the media player firmware should be updated.

If the accessory's minimum supported media player firmware version is smaller or equal to the media player firmware version, and one or more of the command sets is higher than that supported by the media player, the media player will post a message indicating that the media player does not support the accessory.

Accordingly, a method and system in accordance with the present invention provides a system that allows a media player to obtain information from an accessory. In so doing, a media player can then utilize this information to allow for the maximum functionality of the accessory when connected to the media player.

Although the present invention has been described in accordance with the embodiments shown, one of ordinary skill in the art will readily recognize that there could be variations to the embodiments and those variations would be within the spirit and scope of the present invention. For example, the present invention can be implemented using hardware, software, a computer readable medium containing program instructions, or a combination thereof. Software written according to the present invention is to be either stored in some form of computer-readable medium such as memory or CD-ROM, or is to be transmitted over a network, and is to be executed by a processor. Consequently, a computer-readable medium is intended to include a computer readable signal, which may be, for example, transmitted over a network. Accordingly, many modifications may be made by one of ordinary skill in the art without departing from the spirit and scope of the appended claims. 

1. A method for use in a portable media player, the method comprising: establishing communication with an accessory; and receiving capability information from the accessory, wherein the capability information includes a plurality of information items, the plurality of information items including at least: a minimum media player firmware version supported by the accessory; an indication of one or more command sets supported by the accessory; and for each command set supported by the accessory, a minimum command set version supported by the accessory.
 2. The method of claim 1 further comprising: sending a request for capability information to the accessory, wherein receiving the capability information from the accessory is performed in response to sending the request.
 3. The method of claim 2 wherein the request for capability information includes a parameter specifying a requested information item.
 4. The method of claim 1 further comprising: sending a media player model identifier to the accessory, wherein the accessory selects the capability information to be sent to the media player based at least in part on the media player model identifier.
 5. The method of claim 4 further comprising: in the event that the media player model identifier is not supported by the accessory, receiving from the accessory a notification that the media player model identifier is not recognized.
 6. The method of claim 1 wherein the plurality of information items further includes: an accessory name; an accessory firmware version; and an accessory hardware version.
 7. The method of claim 1 wherein the plurality of information items further includes: an accessory manufacturer; and an accessory model number.
 8. The method of claim 1 wherein the plurality of information items further includes a maximum incoming packet size supported by the accessory.
 9. The method of claim 1 wherein establishing communication with the accessory includes establishing a physical connection to the accessory.
 10. A portable media player for use with an accessory, the portable media player comprising: an interface configured to communicably couple the portable media player to an accessory; and control logic coupled to the interface and configured to exchange commands and associated data with the accessory via the interface, wherein the commands include a first command receivable by the portable media player from the accessory, the first command providing one of a plurality of information items, wherein the plurality of information items includes at least one item selected from a group consisting of: a minimum media player firmware version supported by the accessory; an indication of one or more command sets supported by the accessory; and for each command set supported by the accessory, a minimum command set version supported by the accessory.
 11. The portable media player of claim 10 wherein the plurality of information items further includes: an accessory name; an accessory firmware version; and an accessory hardware version.
 12. The portable media player of claim 10 wherein the plurality of information items further includes: an accessory manufacturer; and an accessory model number.
 13. The portable media player of claim 10 wherein the plurality of information items further includes a maximum incoming packet size supported by the accessory.
 14. The portable media player of claim 10 wherein the commands further include a second command sendable to the accessory by the portable media player, the second command requesting information from the accessory and specifying one of the plurality of sendable information items as being requested.
 15. The portable media player of claim 10 wherein the commands further include a second command sendable to the accessory by the portable media player, the second command providing a media player model identifier to the accessory.
 16. The portablem media player of claim 15 wherein the control logic is further configured to detect a non-recognition signal sent by the accessory to the portable media player, wherein the non-recognition signal indicates that the portable media player is not supported by the accessory.
 17. The portable media player of claim 16 wherein the non-recognition signal is one of the plurality of information items of the first command.
 18. The portable media player of claim 10 wherein the interface comprises a connector having a plurality of pins and wherein at least two of the pins are configured to provide communication according to a serial protocol.
 19. A method for use in a portable media player, the method comprising: establishing communication with an accessory; and receiving capability information from the accessory, wherein the capability information includes a plurality of information items selected from a group consisting of: an information item identifying information capabilities of the accessory; an accessory name; a minimum version of media player firmware supported by the accessory; a minimum version of a command set supported by the accessory; an accessory firmware version; an accessory hardware version; an accessory manufacturer; an accessory model number; an accessory serial number; and a maximum incoming packet size supported by the accessory.
 20. The method of claim 19 further comprising sending a request for capability information to the accessory.
 21. The method of claim 20 wherein the request for capability information specifies one of the plurality of information items as being requested.
 22. The method of claim 19 further comprising: sending a media player model identifier to the accessory, wherein the accessory selects the capability information to be sent to the media player, the selection being based at least in part on the media player model identifier.
 23. The method of claim 22 further comprising: in the event that the media player model identifier is not supported by the accessory, receiving from the accessory a notification that the media player model identifier is not recognized.
 24. The method of claim 19 wherein establishing communication with the accessory includes establishing a physical connection to the accessory.
 25. A portable media player for use with an accessory, the portable media player comprising: an interface configured to communicably couple the portable media player to an accessory; and control logic coupled to the interface and configured to exchange commands and associated data with the accessory via the interface, wherein the commands include a first command receivable by the portable media player from the accessory, the first command providing one of a plurality of information items, wherein the plurality of information items includes at least two items selected from a group consisting of: an information item identifying information capabilities of the accessory; an accessory name; a minimum version of media player firmware supported by the accessory; a minimum version of a command set supported by the accessory; an accessory firmware version; an accessory hardware version; an accessory manufacturer; an accessory model number; an accessory serial number; and a maximum incoming packet size supported by the accessory.
 26. The portable media player of claim 25 wherein the commands further include a second command sendable by the portable media playerto the accessory, the second command requesting information from the accessory and specifying one of the plurality of sendable information items as being requested.
 27. The portable media player of claim 25 wherein the commands further include a second command sendable by the portable media player to the accessory, the second command providing a media player model identifier to the accessory.
 28. The portable media player of claim 27 wherein the control logic is further configured to detect a non-recognition signal sent by the accessory to the portable media player, wherein the non-recognition signal indicates that the portable media player is not supported by the accessory and wherein the accessory determines whether to send the non-recognition signal based on the media player model identifier.
 29. The portable media player of claim 28 wherein the non-recognition signal is one of the plurality of information items of the first command.
 30. The portable media player of claim 25 wherein the interface comprises a connector having a plurality of pins and wherein at least two of the pins are configured to provide communication according to a serial protocol. 